﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Logica.Comandos;
using Logica.FabricaLogica;
using Datos.Entidades;
using Logica.Comandos.ComandosAdministracionEvento;
using Logica.Comandos.AdministracionEvento;

namespace Logica.FabricaLogica
{
    // <summary>
    /// comando para hacer las llamadas a las fabricas Evento
    /// </summary>
    /// <param name="usuario">Evento a insertar</param>
    /// <returns>bool(true/false) despues de insertar un evento tipo entidad</returns>

    public class FabricaComandoEvento
    {
        // <summary>
        /// comando para hacer las llamadas a InsertarEvento
        /// </summary>
        /// <param name="usuario">Evento a insertar</param>
        /// <returns>ComandoCrearEvento</returns>

        public static ComandoCrearEvento ObtenerComandoInsertarEvento()
        {
            return new ComandoCrearEvento();
        }

        // <summary>
        /// comando para hacer las llamadas a Eliminarevento
        /// </summary>
        /// <param name="usuario">Evento a desactivar</param>
        /// <returns>ComandoEliminarEvento</returns>

        public static ComandoEliminarEvento ObtenerComandoEliminarEvento()
        {
            return new ComandoEliminarEvento();
        }


        // <summary>
        /// comando para hacer las llamadas a Buscararevento
        /// </summary>
        /// <param name="usuario">Evento a buscar</param>
        /// <returns>ComandoBuscarEvento</returns>


        public static ComandoBuscarEvento ObtenerComandoBuscarEvento()
        {
            return new ComandoBuscarEvento();
        }


        // <summary>
        /// comando para hacer las llamadas a BuscarEventoCategoria
        /// </summary>
        /// <param name="usuario">Evento a buscar por categoria</param>
        /// <returns>ComandoBuscarEventoCategoria</returns>
        public static ComandoBuscarEventoCategoria ObtenerComandoBuscarEventoCategoria()
        {
            return new ComandoBuscarEventoCategoria();
        }

        // <summary>
        /// comando para hacer las llamadas a BuscarEventoFechaMayor
        /// </summary>
        /// <returns>ComandoBuscarEventoFechaInicioMayor</returns>

        public static ComandoBuscarEventoFechaInicioMayor ObtenerComandoBuscarEventoFechaInicioMayor()
        {
            return new ComandoBuscarEventoFechaInicioMayor();
        }

        // <summary>
        /// comando para hacer las llamadas a BuscarEventoParticipante2
        /// </summary>
        /// <param name="usuario">Participante a buscar por categoria</param>
        /// <returns>ComandoBuscarEventoParticipante</returns>
        public static ComandoBuscarEventoParticipante ObtenerComandoBuscarEventoParticipante()
        {
            return new ComandoBuscarEventoParticipante();
        }


        // <summary>
        /// comando para hacer las llamadas a BuscarEventoParticipante3
        /// </summary>
        /// <param name="usuario">Evento a buscar por Id_Evento</param>
        /// <returns>ComandoBuscarEventoParticipante</returns>
        public static ComandoBuscarEventoParticipante3 ObtenerComandoBuscarEventoParticipante3()
        {
            return new ComandoBuscarEventoParticipante3();
        }


        // <summary>
        /// comando para hacer las llamadas a BuscarEventoParticipante4
        /// </summary>
        /// <param name="usuario">Posiciones a buscar por Id_Evento</param>
        /// <returns>ComandoBuscarEventoParticipante</returns>
        public static ComandoBuscarEventoParticipante4 ObtenerComandoBuscarEventoParticipante4()
        {
            return new ComandoBuscarEventoParticipante4();
        }


        // <summary>
        /// comando para hacer las llamadas a BuscarEventoParticipante2
        /// </summary>
        /// <param name="usuario">Participante a buscar por evento</param>
        /// <returns>ComandoBuscarEventoParticipante2</returns>
        public static ComandoBuscarEventoParticipante22 ObtenerComandoBuscarEventoParticipante22()
        {
            return new ComandoBuscarEventoParticipante22();
        }

        // <summary>
        /// comando para hacer las llamadas a BuscarEventoParticipante2
        /// </summary>
        /// <param name="usuario">Participante a buscar por evento</param>
        /// <returns>ComandoBuscarEventoParticipante2</returns>
        public static ComandoBuscarEventoParticipante23 ObtenerComandoBuscarEventoParticipante23()
        {
            return new ComandoBuscarEventoParticipante23();
        }


        // <summary>
        /// comando para hacer las llamadas a BuscarEventoParticipante2
        /// </summary>
        /// <param name="usuario">Participante a buscar por evento</param>
        /// <returns>ComandoBuscarEventoParticipante2</returns>
        public static ComandoBuscarEventoParticipante2 ObtenerComandoBuscarEventoParticipante2()
        {
            return new ComandoBuscarEventoParticipante2();
        }

        // <summary>
        /// comando para hacer las llamadas a InsertarHistorialParticipante
        /// </summary>
        /// <param name="usuario">agregar en InsertarHistorialParticipante</param>
        /// <returns>ComandoCrearHistorialParticipante</returns>

        public static ComandoCrearHistorialParticipante ObtenerComandoInsertarHistorialParticipante()
        {
            return new ComandoCrearHistorialParticipante();
        }

        // <summary>
        /// comando para hacer las llamadas a BuscarEventoNombre
        /// </summary>
        /// <param name="usuario">buscar evento por nombre</param>
        /// <returns>ComandoBuscarEventoNombre</returns>


        public static ComandoBuscarEventoNombre ObtenerComandoBuscarEventoNombre()
        {
            return new ComandoBuscarEventoNombre();
        }


        // <summary>
        /// comando para hacer las llamadas a BuscarEventoTipo
        /// </summary>
        /// <param name="usuario">buscar evento por tipo</param>
        /// <returns>ComandoBuscarEventoTipo</returns>


        public static ComandoBuscarCategoriaTipo ObtenerComandoBuscarCategoriaTipo()
        {
            return new ComandoBuscarCategoriaTipo();
        }



        // <summary>
        /// comando para hacer las llamadas a BuscarCategoriaNombre
        /// </summary>
        /// <param name="usuario">buscar categoria por nombre</param>
        /// <returns>ComandoBuscarCategoriaNombre</returns>


        public static ComandoBuscarCategoriaNombre ObtenerComandoBuscarCategoriaNombre()
        {
            return new ComandoBuscarCategoriaNombre();
        }


        // <summary>
        /// comando para hacer las llamadas a ConsultarEvento
        /// </summary>
        /// <param name="usuario">consulta todos los evento</param>
        /// <returns>ComandoConsultarEvento</returns>

        public static ComandoConsultarEvento ObtenerComandoConsultarEvento()
        {
            return new ComandoConsultarEvento();
        }



        // <summary>
        /// comando para hacer las llamadas a ConsultarResultado
        /// </summary>
        /// <param name="usuario">consulta todos los evento hasta la fecha</param>
        /// <returns>ComandoConsultarResultado</returns>

        public static ComandoConsultarGestionResultado ObtenerComandoConsultarGestionResultado()
        {
            return new ComandoConsultarGestionResultado();
        }


        // <summary>
        /// comando para hacer las llamadas a ConsultarResultado ya generados
        /// </summary>
        /// <param name="usuario">consulta todos los evento hasta la fecha</param>
        /// <returns>ComandoConsultarResultado</returns>

        public static ComandoConsultarGestionResultado2 ObtenerComandoConsultarGestionResultado2()
        {
            return new ComandoConsultarGestionResultado2();
        }



        // <summary>
        /// comando para hacer las llamadas a ModificarEvento
        /// </summary>
        /// <param name="usuario">modifica un evento</param>
        /// <returns>ComandoModificarEvento</returns>


        public static ComandoModificarEvento ObtenerComandoModificarEvento()
        {
            return new ComandoModificarEvento();
        }

        // <summary>
        /// comando para hacer las llamadas a ModificarEvento2
        /// </summary>
        /// <param name="usuario">modifica un evento es decir genera su resultado</param>
        /// <returns>ComandoModificarEvento2</returns>


        public static ComandoModificarEvento2 ObtenerComandoModificarEvento2()
        {
            return new ComandoModificarEvento2();
        }



        // <summary>
        /// comando para hacer las llamadas a ModificarEvento2
        /// </summary>
        /// <param name="usuario">modifica un evento es decir genera su resultado</param>
        /// <returns>ComandoModificarEvento3</returns>


        public static ComandoModificarEvento3 ObtenerComandoModificarEvento3()
        {
            return new ComandoModificarEvento3();
        }



        // <summary>
        /// comando para hacer las llamadas a ConsultarEventoID
        /// </summary>
        /// <param name="usuario">obtiene el id de un HistorialParticipante</param>
        /// <returns>ComandoConsultarEventoID</returns>



        public static ComandoConsultarEventoID ObtenerComandoConsultarEventoID()
        {
            return new ComandoConsultarEventoID();
        }

        // <summary>
        /// comando para hacer las llamadas a ConsultarUsuarioID
        /// </summary>
        /// <param name="usuario">obtiene el id de un HistorialParticipante</param>
        /// <returns>ComandoConsultarEventoID</returns>


        public static Comando ObtenerComandoConsultarUsuarioID()
        {
            throw new NotImplementedException();
        }
    }
}
